package org.spider.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author lzy
 * @since 2022-06-02 15:36:46
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("spider_db_user")
@ApiModel(value = "SpiderDbUserEntity对象", description = "")
public class SpiderDbUserEntity extends Model<SpiderDbUserEntity> {

    @ApiModelProperty("主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("用户id")
    @TableField("user_id")
    private String userId;

    @ApiModelProperty("用户名称")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty("用户链接")
    @TableField("user_url")
    private String userUrl;

    @ApiModelProperty("用户链接MD5")
    @TableField("user_url_md5")
    private String userUrlMd5;

    @ApiModelProperty("用户昵称")
    @TableField("user_nickname")
    private String userNickname;

    @ApiModelProperty("用户创建时间")
    @TableField("user_create_time")
    private LocalDateTime userCreateTime;

    @ApiModelProperty("用户描述")
    @TableField("user_desc")
    private String userDesc;

    @ApiModelProperty("用户所在地")
    @TableField("user_location")
    private String userLocation;

    @ApiModelProperty("用户粉丝数量")
    @TableField("user_fans_count")
    private Long userFansCount;

    @ApiModelProperty("用户文章数量")
    @TableField("user_post_count")
    private Long userPostCount;

    @ApiModelProperty("用户照片数量")
    @TableField("user_photo_count")
    private Integer userPhotoCount;

    @ApiModelProperty("用户被访问数量")
    @TableField("user_view_count")
    private Long userViewCount;

    @ApiModelProperty("用户视频数量")
    @TableField("user_video_count")
    private Integer userVideoCount;

    @ApiModelProperty("用户关注数量")
    @TableField("user_follow_count")
    private Long userFollowCount;

    @ApiModelProperty("用户头像")
    @TableField("user_headimg")
    private String userHeadimg;

    @ApiModelProperty("用户认证信息")
    @TableField("user_verified")
    private String userVerified;

    @ApiModelProperty("用户邮箱")
    @TableField("user_email")
    private String userEmail;

    @ApiModelProperty("用户联系方式")
    @TableField("user_contact")
    private String userContact;

    @ApiModelProperty("用户性别")
    @TableField("user_gender")
    private Integer userGender;

    @ApiModelProperty("用户年龄")
    @TableField("user_age")
    private Integer userAge;

    @ApiModelProperty("用户工作")
    @TableField("user_job")
    private String userJob;

    @ApiModelProperty("用户家乡")
    @TableField("user_hometown")
    private String userHometown;

    @ApiModelProperty("用户受教育程度")
    @TableField("user_education")
    private String userEducation;

    @ApiModelProperty("关联站点id")
    @TableField("user_site_id")
    private String userSiteId;

    @ApiModelProperty("用户语言")
    @TableField("user_language_id")
    private Long userLanguageId;

    @ApiModelProperty("关联频道id")
    @TableField("user_channel_id")
    private Long userChannelId;

    @ApiModelProperty("用户类型")
    @TableField("user_type")
    private String userType;

    @ApiModelProperty("用户生日")
    @TableField("user_birthday")
    private LocalDateTime userBirthday;

    @ApiModelProperty("数据来源，1：自采；2：外部导入")
    @TableField("data_source")
    private Integer dataSource;

    @ApiModelProperty("创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @ApiModelProperty("采集时间")
    @TableField("crawler_time")
    private LocalDateTime crawlerTime;


    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
